#include <iostream>
using namespace std;
#include <boost/thread/detail/singleton.hpp>
class InputState
{
public:
	void getInput() { std::cout << __func__ << std::endl; }
protected:
	~InputState() { std::cout << __func__ << __LINE__ <<std::endl; }
	InputState() { std::cout << __func__ << std::endl; }};
typedef boost::detail::thread::singleton<InputState> InputStateS;
#define inputState InputStateS::instance() 
int main(int argc, char* argv[])
{
	//InputState imputState;//error
	InputStateS::instance().getInput();
	inputState.getInput();
}


